package 力扣;

/**
 给定一个数组 nums，编写一个函数将所有 0 移动到数组的末尾，同时保持非零元素的相对顺序。
 示例:
 输入: [0,1,0,3,12]
 输出: [1,3,12,0,0]

 */

public class _283移动零 {
    // 先遍历一遍，将非0数放到前面，记录最后一个非0数被放置的索引, 然后将后面的数全置为0
    public void moveZeroes(int[] nums) {
        int n = nums.length;
        int idx = 0;
        for (int i = 0; i < n; i++) {
            if( nums[i] !=0 ) nums[idx++] = nums[i];
        }
        while( idx< n){
            nums[idx++] = 0;
        }

    }
}
